package cn.com.zetatech.hdjc.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class HdjcInstrumentExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public HdjcInstrumentExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andInstrumentNumberIsNull() {
            addCriterion("instrument_number is null");
            return (Criteria) this;
        }

        public Criteria andInstrumentNumberIsNotNull() {
            addCriterion("instrument_number is not null");
            return (Criteria) this;
        }

        public Criteria andInstrumentNumberEqualTo(String value) {
            addCriterion("instrument_number =", value, "instrumentNumber");
            return (Criteria) this;
        }

        public Criteria andInstrumentNumberNotEqualTo(String value) {
            addCriterion("instrument_number <>", value, "instrumentNumber");
            return (Criteria) this;
        }

        public Criteria andInstrumentNumberGreaterThan(String value) {
            addCriterion("instrument_number >", value, "instrumentNumber");
            return (Criteria) this;
        }

        public Criteria andInstrumentNumberGreaterThanOrEqualTo(String value) {
            addCriterion("instrument_number >=", value, "instrumentNumber");
            return (Criteria) this;
        }

        public Criteria andInstrumentNumberLessThan(String value) {
            addCriterion("instrument_number <", value, "instrumentNumber");
            return (Criteria) this;
        }

        public Criteria andInstrumentNumberLessThanOrEqualTo(String value) {
            addCriterion("instrument_number <=", value, "instrumentNumber");
            return (Criteria) this;
        }

        public Criteria andInstrumentNumberLike(String value) {
            addCriterion("instrument_number like", value, "instrumentNumber");
            return (Criteria) this;
        }

        public Criteria andInstrumentNumberNotLike(String value) {
            addCriterion("instrument_number not like", value, "instrumentNumber");
            return (Criteria) this;
        }

        public Criteria andInstrumentNumberIn(List<String> values) {
            addCriterion("instrument_number in", values, "instrumentNumber");
            return (Criteria) this;
        }

        public Criteria andInstrumentNumberNotIn(List<String> values) {
            addCriterion("instrument_number not in", values, "instrumentNumber");
            return (Criteria) this;
        }

        public Criteria andInstrumentNumberBetween(String value1, String value2) {
            addCriterion("instrument_number between", value1, value2, "instrumentNumber");
            return (Criteria) this;
        }

        public Criteria andInstrumentNumberNotBetween(String value1, String value2) {
            addCriterion("instrument_number not between", value1, value2, "instrumentNumber");
            return (Criteria) this;
        }

        public Criteria andInstrumentNameIsNull() {
            addCriterion("instrument_name is null");
            return (Criteria) this;
        }

        public Criteria andInstrumentNameIsNotNull() {
            addCriterion("instrument_name is not null");
            return (Criteria) this;
        }

        public Criteria andInstrumentNameEqualTo(String value) {
            addCriterion("instrument_name =", value, "instrumentName");
            return (Criteria) this;
        }

        public Criteria andInstrumentNameNotEqualTo(String value) {
            addCriterion("instrument_name <>", value, "instrumentName");
            return (Criteria) this;
        }

        public Criteria andInstrumentNameGreaterThan(String value) {
            addCriterion("instrument_name >", value, "instrumentName");
            return (Criteria) this;
        }

        public Criteria andInstrumentNameGreaterThanOrEqualTo(String value) {
            addCriterion("instrument_name >=", value, "instrumentName");
            return (Criteria) this;
        }

        public Criteria andInstrumentNameLessThan(String value) {
            addCriterion("instrument_name <", value, "instrumentName");
            return (Criteria) this;
        }

        public Criteria andInstrumentNameLessThanOrEqualTo(String value) {
            addCriterion("instrument_name <=", value, "instrumentName");
            return (Criteria) this;
        }

        public Criteria andInstrumentNameLike(String value) {
            addCriterion("instrument_name like", value, "instrumentName");
            return (Criteria) this;
        }

        public Criteria andInstrumentNameNotLike(String value) {
            addCriterion("instrument_name not like", value, "instrumentName");
            return (Criteria) this;
        }

        public Criteria andInstrumentNameIn(List<String> values) {
            addCriterion("instrument_name in", values, "instrumentName");
            return (Criteria) this;
        }

        public Criteria andInstrumentNameNotIn(List<String> values) {
            addCriterion("instrument_name not in", values, "instrumentName");
            return (Criteria) this;
        }

        public Criteria andInstrumentNameBetween(String value1, String value2) {
            addCriterion("instrument_name between", value1, value2, "instrumentName");
            return (Criteria) this;
        }

        public Criteria andInstrumentNameNotBetween(String value1, String value2) {
            addCriterion("instrument_name not between", value1, value2, "instrumentName");
            return (Criteria) this;
        }

        public Criteria andInstrumentTypeIsNull() {
            addCriterion("instrument_type is null");
            return (Criteria) this;
        }

        public Criteria andInstrumentTypeIsNotNull() {
            addCriterion("instrument_type is not null");
            return (Criteria) this;
        }

        public Criteria andInstrumentTypeEqualTo(String value) {
            addCriterion("instrument_type =", value, "instrumentType");
            return (Criteria) this;
        }

        public Criteria andInstrumentTypeNotEqualTo(String value) {
            addCriterion("instrument_type <>", value, "instrumentType");
            return (Criteria) this;
        }

        public Criteria andInstrumentTypeGreaterThan(String value) {
            addCriterion("instrument_type >", value, "instrumentType");
            return (Criteria) this;
        }

        public Criteria andInstrumentTypeGreaterThanOrEqualTo(String value) {
            addCriterion("instrument_type >=", value, "instrumentType");
            return (Criteria) this;
        }

        public Criteria andInstrumentTypeLessThan(String value) {
            addCriterion("instrument_type <", value, "instrumentType");
            return (Criteria) this;
        }

        public Criteria andInstrumentTypeLessThanOrEqualTo(String value) {
            addCriterion("instrument_type <=", value, "instrumentType");
            return (Criteria) this;
        }

        public Criteria andInstrumentTypeLike(String value) {
            addCriterion("instrument_type like", value, "instrumentType");
            return (Criteria) this;
        }

        public Criteria andInstrumentTypeNotLike(String value) {
            addCriterion("instrument_type not like", value, "instrumentType");
            return (Criteria) this;
        }

        public Criteria andInstrumentTypeIn(List<String> values) {
            addCriterion("instrument_type in", values, "instrumentType");
            return (Criteria) this;
        }

        public Criteria andInstrumentTypeNotIn(List<String> values) {
            addCriterion("instrument_type not in", values, "instrumentType");
            return (Criteria) this;
        }

        public Criteria andInstrumentTypeBetween(String value1, String value2) {
            addCriterion("instrument_type between", value1, value2, "instrumentType");
            return (Criteria) this;
        }

        public Criteria andInstrumentTypeNotBetween(String value1, String value2) {
            addCriterion("instrument_type not between", value1, value2, "instrumentType");
            return (Criteria) this;
        }

        public Criteria andMeasuringRangeIsNull() {
            addCriterion("measuring_range is null");
            return (Criteria) this;
        }

        public Criteria andMeasuringRangeIsNotNull() {
            addCriterion("measuring_range is not null");
            return (Criteria) this;
        }

        public Criteria andMeasuringRangeEqualTo(String value) {
            addCriterion("measuring_range =", value, "measuringRange");
            return (Criteria) this;
        }

        public Criteria andMeasuringRangeNotEqualTo(String value) {
            addCriterion("measuring_range <>", value, "measuringRange");
            return (Criteria) this;
        }

        public Criteria andMeasuringRangeGreaterThan(String value) {
            addCriterion("measuring_range >", value, "measuringRange");
            return (Criteria) this;
        }

        public Criteria andMeasuringRangeGreaterThanOrEqualTo(String value) {
            addCriterion("measuring_range >=", value, "measuringRange");
            return (Criteria) this;
        }

        public Criteria andMeasuringRangeLessThan(String value) {
            addCriterion("measuring_range <", value, "measuringRange");
            return (Criteria) this;
        }

        public Criteria andMeasuringRangeLessThanOrEqualTo(String value) {
            addCriterion("measuring_range <=", value, "measuringRange");
            return (Criteria) this;
        }

        public Criteria andMeasuringRangeLike(String value) {
            addCriterion("measuring_range like", value, "measuringRange");
            return (Criteria) this;
        }

        public Criteria andMeasuringRangeNotLike(String value) {
            addCriterion("measuring_range not like", value, "measuringRange");
            return (Criteria) this;
        }

        public Criteria andMeasuringRangeIn(List<String> values) {
            addCriterion("measuring_range in", values, "measuringRange");
            return (Criteria) this;
        }

        public Criteria andMeasuringRangeNotIn(List<String> values) {
            addCriterion("measuring_range not in", values, "measuringRange");
            return (Criteria) this;
        }

        public Criteria andMeasuringRangeBetween(String value1, String value2) {
            addCriterion("measuring_range between", value1, value2, "measuringRange");
            return (Criteria) this;
        }

        public Criteria andMeasuringRangeNotBetween(String value1, String value2) {
            addCriterion("measuring_range not between", value1, value2, "measuringRange");
            return (Criteria) this;
        }

        public Criteria andAccuracyIsNull() {
            addCriterion("accuracy is null");
            return (Criteria) this;
        }

        public Criteria andAccuracyIsNotNull() {
            addCriterion("accuracy is not null");
            return (Criteria) this;
        }

        public Criteria andAccuracyEqualTo(String value) {
            addCriterion("accuracy =", value, "accuracy");
            return (Criteria) this;
        }

        public Criteria andAccuracyNotEqualTo(String value) {
            addCriterion("accuracy <>", value, "accuracy");
            return (Criteria) this;
        }

        public Criteria andAccuracyGreaterThan(String value) {
            addCriterion("accuracy >", value, "accuracy");
            return (Criteria) this;
        }

        public Criteria andAccuracyGreaterThanOrEqualTo(String value) {
            addCriterion("accuracy >=", value, "accuracy");
            return (Criteria) this;
        }

        public Criteria andAccuracyLessThan(String value) {
            addCriterion("accuracy <", value, "accuracy");
            return (Criteria) this;
        }

        public Criteria andAccuracyLessThanOrEqualTo(String value) {
            addCriterion("accuracy <=", value, "accuracy");
            return (Criteria) this;
        }

        public Criteria andAccuracyLike(String value) {
            addCriterion("accuracy like", value, "accuracy");
            return (Criteria) this;
        }

        public Criteria andAccuracyNotLike(String value) {
            addCriterion("accuracy not like", value, "accuracy");
            return (Criteria) this;
        }

        public Criteria andAccuracyIn(List<String> values) {
            addCriterion("accuracy in", values, "accuracy");
            return (Criteria) this;
        }

        public Criteria andAccuracyNotIn(List<String> values) {
            addCriterion("accuracy not in", values, "accuracy");
            return (Criteria) this;
        }

        public Criteria andAccuracyBetween(String value1, String value2) {
            addCriterion("accuracy between", value1, value2, "accuracy");
            return (Criteria) this;
        }

        public Criteria andAccuracyNotBetween(String value1, String value2) {
            addCriterion("accuracy not between", value1, value2, "accuracy");
            return (Criteria) this;
        }

        public Criteria andCalibrationValidIsNull() {
            addCriterion("calibration_valid is null");
            return (Criteria) this;
        }

        public Criteria andCalibrationValidIsNotNull() {
            addCriterion("calibration_valid is not null");
            return (Criteria) this;
        }

        public Criteria andCalibrationValidEqualTo(String value) {
            addCriterion("calibration_valid =", value, "calibrationValid");
            return (Criteria) this;
        }

        public Criteria andCalibrationValidNotEqualTo(String value) {
            addCriterion("calibration_valid <>", value, "calibrationValid");
            return (Criteria) this;
        }

        public Criteria andCalibrationValidGreaterThan(String value) {
            addCriterion("calibration_valid >", value, "calibrationValid");
            return (Criteria) this;
        }

        public Criteria andCalibrationValidGreaterThanOrEqualTo(String value) {
            addCriterion("calibration_valid >=", value, "calibrationValid");
            return (Criteria) this;
        }

        public Criteria andCalibrationValidLessThan(String value) {
            addCriterion("calibration_valid <", value, "calibrationValid");
            return (Criteria) this;
        }

        public Criteria andCalibrationValidLessThanOrEqualTo(String value) {
            addCriterion("calibration_valid <=", value, "calibrationValid");
            return (Criteria) this;
        }

        public Criteria andCalibrationValidLike(String value) {
            addCriterion("calibration_valid like", value, "calibrationValid");
            return (Criteria) this;
        }

        public Criteria andCalibrationValidNotLike(String value) {
            addCriterion("calibration_valid not like", value, "calibrationValid");
            return (Criteria) this;
        }

        public Criteria andCalibrationValidIn(List<String> values) {
            addCriterion("calibration_valid in", values, "calibrationValid");
            return (Criteria) this;
        }

        public Criteria andCalibrationValidNotIn(List<String> values) {
            addCriterion("calibration_valid not in", values, "calibrationValid");
            return (Criteria) this;
        }

        public Criteria andCalibrationValidBetween(String value1, String value2) {
            addCriterion("calibration_valid between", value1, value2, "calibrationValid");
            return (Criteria) this;
        }

        public Criteria andCalibrationValidNotBetween(String value1, String value2) {
            addCriterion("calibration_valid not between", value1, value2, "calibrationValid");
            return (Criteria) this;
        }

        public Criteria andCalibrationNumberIsNull() {
            addCriterion("calibration_number is null");
            return (Criteria) this;
        }

        public Criteria andCalibrationNumberIsNotNull() {
            addCriterion("calibration_number is not null");
            return (Criteria) this;
        }

        public Criteria andCalibrationNumberEqualTo(String value) {
            addCriterion("calibration_number =", value, "calibrationNumber");
            return (Criteria) this;
        }

        public Criteria andCalibrationNumberNotEqualTo(String value) {
            addCriterion("calibration_number <>", value, "calibrationNumber");
            return (Criteria) this;
        }

        public Criteria andCalibrationNumberGreaterThan(String value) {
            addCriterion("calibration_number >", value, "calibrationNumber");
            return (Criteria) this;
        }

        public Criteria andCalibrationNumberGreaterThanOrEqualTo(String value) {
            addCriterion("calibration_number >=", value, "calibrationNumber");
            return (Criteria) this;
        }

        public Criteria andCalibrationNumberLessThan(String value) {
            addCriterion("calibration_number <", value, "calibrationNumber");
            return (Criteria) this;
        }

        public Criteria andCalibrationNumberLessThanOrEqualTo(String value) {
            addCriterion("calibration_number <=", value, "calibrationNumber");
            return (Criteria) this;
        }

        public Criteria andCalibrationNumberLike(String value) {
            addCriterion("calibration_number like", value, "calibrationNumber");
            return (Criteria) this;
        }

        public Criteria andCalibrationNumberNotLike(String value) {
            addCriterion("calibration_number not like", value, "calibrationNumber");
            return (Criteria) this;
        }

        public Criteria andCalibrationNumberIn(List<String> values) {
            addCriterion("calibration_number in", values, "calibrationNumber");
            return (Criteria) this;
        }

        public Criteria andCalibrationNumberNotIn(List<String> values) {
            addCriterion("calibration_number not in", values, "calibrationNumber");
            return (Criteria) this;
        }

        public Criteria andCalibrationNumberBetween(String value1, String value2) {
            addCriterion("calibration_number between", value1, value2, "calibrationNumber");
            return (Criteria) this;
        }

        public Criteria andCalibrationNumberNotBetween(String value1, String value2) {
            addCriterion("calibration_number not between", value1, value2, "calibrationNumber");
            return (Criteria) this;
        }

        public Criteria andTraceWayIsNull() {
            addCriterion("trace_way is null");
            return (Criteria) this;
        }

        public Criteria andTraceWayIsNotNull() {
            addCriterion("trace_way is not null");
            return (Criteria) this;
        }

        public Criteria andTraceWayEqualTo(String value) {
            addCriterion("trace_way =", value, "traceWay");
            return (Criteria) this;
        }

        public Criteria andTraceWayNotEqualTo(String value) {
            addCriterion("trace_way <>", value, "traceWay");
            return (Criteria) this;
        }

        public Criteria andTraceWayGreaterThan(String value) {
            addCriterion("trace_way >", value, "traceWay");
            return (Criteria) this;
        }

        public Criteria andTraceWayGreaterThanOrEqualTo(String value) {
            addCriterion("trace_way >=", value, "traceWay");
            return (Criteria) this;
        }

        public Criteria andTraceWayLessThan(String value) {
            addCriterion("trace_way <", value, "traceWay");
            return (Criteria) this;
        }

        public Criteria andTraceWayLessThanOrEqualTo(String value) {
            addCriterion("trace_way <=", value, "traceWay");
            return (Criteria) this;
        }

        public Criteria andTraceWayLike(String value) {
            addCriterion("trace_way like", value, "traceWay");
            return (Criteria) this;
        }

        public Criteria andTraceWayNotLike(String value) {
            addCriterion("trace_way not like", value, "traceWay");
            return (Criteria) this;
        }

        public Criteria andTraceWayIn(List<String> values) {
            addCriterion("trace_way in", values, "traceWay");
            return (Criteria) this;
        }

        public Criteria andTraceWayNotIn(List<String> values) {
            addCriterion("trace_way not in", values, "traceWay");
            return (Criteria) this;
        }

        public Criteria andTraceWayBetween(String value1, String value2) {
            addCriterion("trace_way between", value1, value2, "traceWay");
            return (Criteria) this;
        }

        public Criteria andTraceWayNotBetween(String value1, String value2) {
            addCriterion("trace_way not between", value1, value2, "traceWay");
            return (Criteria) this;
        }

        public Criteria andTestParamIsNull() {
            addCriterion("test_param is null");
            return (Criteria) this;
        }

        public Criteria andTestParamIsNotNull() {
            addCriterion("test_param is not null");
            return (Criteria) this;
        }

        public Criteria andTestParamEqualTo(String value) {
            addCriterion("test_param =", value, "testParam");
            return (Criteria) this;
        }

        public Criteria andTestParamNotEqualTo(String value) {
            addCriterion("test_param <>", value, "testParam");
            return (Criteria) this;
        }

        public Criteria andTestParamGreaterThan(String value) {
            addCriterion("test_param >", value, "testParam");
            return (Criteria) this;
        }

        public Criteria andTestParamGreaterThanOrEqualTo(String value) {
            addCriterion("test_param >=", value, "testParam");
            return (Criteria) this;
        }

        public Criteria andTestParamLessThan(String value) {
            addCriterion("test_param <", value, "testParam");
            return (Criteria) this;
        }

        public Criteria andTestParamLessThanOrEqualTo(String value) {
            addCriterion("test_param <=", value, "testParam");
            return (Criteria) this;
        }

        public Criteria andTestParamLike(String value) {
            addCriterion("test_param like", value, "testParam");
            return (Criteria) this;
        }

        public Criteria andTestParamNotLike(String value) {
            addCriterion("test_param not like", value, "testParam");
            return (Criteria) this;
        }

        public Criteria andTestParamIn(List<String> values) {
            addCriterion("test_param in", values, "testParam");
            return (Criteria) this;
        }

        public Criteria andTestParamNotIn(List<String> values) {
            addCriterion("test_param not in", values, "testParam");
            return (Criteria) this;
        }

        public Criteria andTestParamBetween(String value1, String value2) {
            addCriterion("test_param between", value1, value2, "testParam");
            return (Criteria) this;
        }

        public Criteria andTestParamNotBetween(String value1, String value2) {
            addCriterion("test_param not between", value1, value2, "testParam");
            return (Criteria) this;
        }

        public Criteria andFactoryNumberIsNull() {
            addCriterion("factory_number is null");
            return (Criteria) this;
        }

        public Criteria andFactoryNumberIsNotNull() {
            addCriterion("factory_number is not null");
            return (Criteria) this;
        }

        public Criteria andFactoryNumberEqualTo(String value) {
            addCriterion("factory_number =", value, "factoryNumber");
            return (Criteria) this;
        }

        public Criteria andFactoryNumberNotEqualTo(String value) {
            addCriterion("factory_number <>", value, "factoryNumber");
            return (Criteria) this;
        }

        public Criteria andFactoryNumberGreaterThan(String value) {
            addCriterion("factory_number >", value, "factoryNumber");
            return (Criteria) this;
        }

        public Criteria andFactoryNumberGreaterThanOrEqualTo(String value) {
            addCriterion("factory_number >=", value, "factoryNumber");
            return (Criteria) this;
        }

        public Criteria andFactoryNumberLessThan(String value) {
            addCriterion("factory_number <", value, "factoryNumber");
            return (Criteria) this;
        }

        public Criteria andFactoryNumberLessThanOrEqualTo(String value) {
            addCriterion("factory_number <=", value, "factoryNumber");
            return (Criteria) this;
        }

        public Criteria andFactoryNumberLike(String value) {
            addCriterion("factory_number like", value, "factoryNumber");
            return (Criteria) this;
        }

        public Criteria andFactoryNumberNotLike(String value) {
            addCriterion("factory_number not like", value, "factoryNumber");
            return (Criteria) this;
        }

        public Criteria andFactoryNumberIn(List<String> values) {
            addCriterion("factory_number in", values, "factoryNumber");
            return (Criteria) this;
        }

        public Criteria andFactoryNumberNotIn(List<String> values) {
            addCriterion("factory_number not in", values, "factoryNumber");
            return (Criteria) this;
        }

        public Criteria andFactoryNumberBetween(String value1, String value2) {
            addCriterion("factory_number between", value1, value2, "factoryNumber");
            return (Criteria) this;
        }

        public Criteria andFactoryNumberNotBetween(String value1, String value2) {
            addCriterion("factory_number not between", value1, value2, "factoryNumber");
            return (Criteria) this;
        }

        public Criteria andManufacturerIsNull() {
            addCriterion("manufacturer is null");
            return (Criteria) this;
        }

        public Criteria andManufacturerIsNotNull() {
            addCriterion("manufacturer is not null");
            return (Criteria) this;
        }

        public Criteria andManufacturerEqualTo(String value) {
            addCriterion("manufacturer =", value, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerNotEqualTo(String value) {
            addCriterion("manufacturer <>", value, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerGreaterThan(String value) {
            addCriterion("manufacturer >", value, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerGreaterThanOrEqualTo(String value) {
            addCriterion("manufacturer >=", value, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerLessThan(String value) {
            addCriterion("manufacturer <", value, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerLessThanOrEqualTo(String value) {
            addCriterion("manufacturer <=", value, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerLike(String value) {
            addCriterion("manufacturer like", value, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerNotLike(String value) {
            addCriterion("manufacturer not like", value, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerIn(List<String> values) {
            addCriterion("manufacturer in", values, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerNotIn(List<String> values) {
            addCriterion("manufacturer not in", values, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerBetween(String value1, String value2) {
            addCriterion("manufacturer between", value1, value2, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andManufacturerNotBetween(String value1, String value2) {
            addCriterion("manufacturer not between", value1, value2, "manufacturer");
            return (Criteria) this;
        }

        public Criteria andStartTimeIsNull() {
            addCriterion("start_time is null");
            return (Criteria) this;
        }

        public Criteria andStartTimeIsNotNull() {
            addCriterion("start_time is not null");
            return (Criteria) this;
        }

        public Criteria andStartTimeEqualTo(Date value) {
            addCriterion("start_time =", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotEqualTo(Date value) {
            addCriterion("start_time <>", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeGreaterThan(Date value) {
            addCriterion("start_time >", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("start_time >=", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeLessThan(Date value) {
            addCriterion("start_time <", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeLessThanOrEqualTo(Date value) {
            addCriterion("start_time <=", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeIn(List<Date> values) {
            addCriterion("start_time in", values, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotIn(List<Date> values) {
            addCriterion("start_time not in", values, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeBetween(Date value1, Date value2) {
            addCriterion("start_time between", value1, value2, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotBetween(Date value1, Date value2) {
            addCriterion("start_time not between", value1, value2, "startTime");
            return (Criteria) this;
        }

        public Criteria andBelongToIsNull() {
            addCriterion("belong_to is null");
            return (Criteria) this;
        }

        public Criteria andBelongToIsNotNull() {
            addCriterion("belong_to is not null");
            return (Criteria) this;
        }

        public Criteria andBelongToEqualTo(String value) {
            addCriterion("belong_to =", value, "belongTo");
            return (Criteria) this;
        }

        public Criteria andBelongToNotEqualTo(String value) {
            addCriterion("belong_to <>", value, "belongTo");
            return (Criteria) this;
        }

        public Criteria andBelongToGreaterThan(String value) {
            addCriterion("belong_to >", value, "belongTo");
            return (Criteria) this;
        }

        public Criteria andBelongToGreaterThanOrEqualTo(String value) {
            addCriterion("belong_to >=", value, "belongTo");
            return (Criteria) this;
        }

        public Criteria andBelongToLessThan(String value) {
            addCriterion("belong_to <", value, "belongTo");
            return (Criteria) this;
        }

        public Criteria andBelongToLessThanOrEqualTo(String value) {
            addCriterion("belong_to <=", value, "belongTo");
            return (Criteria) this;
        }

        public Criteria andBelongToLike(String value) {
            addCriterion("belong_to like", value, "belongTo");
            return (Criteria) this;
        }

        public Criteria andBelongToNotLike(String value) {
            addCriterion("belong_to not like", value, "belongTo");
            return (Criteria) this;
        }

        public Criteria andBelongToIn(List<String> values) {
            addCriterion("belong_to in", values, "belongTo");
            return (Criteria) this;
        }

        public Criteria andBelongToNotIn(List<String> values) {
            addCriterion("belong_to not in", values, "belongTo");
            return (Criteria) this;
        }

        public Criteria andBelongToBetween(String value1, String value2) {
            addCriterion("belong_to between", value1, value2, "belongTo");
            return (Criteria) this;
        }

        public Criteria andBelongToNotBetween(String value1, String value2) {
            addCriterion("belong_to not between", value1, value2, "belongTo");
            return (Criteria) this;
        }

        public Criteria andPlaceIsNull() {
            addCriterion("place is null");
            return (Criteria) this;
        }

        public Criteria andPlaceIsNotNull() {
            addCriterion("place is not null");
            return (Criteria) this;
        }

        public Criteria andPlaceEqualTo(String value) {
            addCriterion("place =", value, "place");
            return (Criteria) this;
        }

        public Criteria andPlaceNotEqualTo(String value) {
            addCriterion("place <>", value, "place");
            return (Criteria) this;
        }

        public Criteria andPlaceGreaterThan(String value) {
            addCriterion("place >", value, "place");
            return (Criteria) this;
        }

        public Criteria andPlaceGreaterThanOrEqualTo(String value) {
            addCriterion("place >=", value, "place");
            return (Criteria) this;
        }

        public Criteria andPlaceLessThan(String value) {
            addCriterion("place <", value, "place");
            return (Criteria) this;
        }

        public Criteria andPlaceLessThanOrEqualTo(String value) {
            addCriterion("place <=", value, "place");
            return (Criteria) this;
        }

        public Criteria andPlaceLike(String value) {
            addCriterion("place like", value, "place");
            return (Criteria) this;
        }

        public Criteria andPlaceNotLike(String value) {
            addCriterion("place not like", value, "place");
            return (Criteria) this;
        }

        public Criteria andPlaceIn(List<String> values) {
            addCriterion("place in", values, "place");
            return (Criteria) this;
        }

        public Criteria andPlaceNotIn(List<String> values) {
            addCriterion("place not in", values, "place");
            return (Criteria) this;
        }

        public Criteria andPlaceBetween(String value1, String value2) {
            addCriterion("place between", value1, value2, "place");
            return (Criteria) this;
        }

        public Criteria andPlaceNotBetween(String value1, String value2) {
            addCriterion("place not between", value1, value2, "place");
            return (Criteria) this;
        }

        public Criteria andPrincipalByIsNull() {
            addCriterion("principal_by is null");
            return (Criteria) this;
        }

        public Criteria andPrincipalByIsNotNull() {
            addCriterion("principal_by is not null");
            return (Criteria) this;
        }

        public Criteria andPrincipalByEqualTo(String value) {
            addCriterion("principal_by =", value, "principalBy");
            return (Criteria) this;
        }

        public Criteria andPrincipalByNotEqualTo(String value) {
            addCriterion("principal_by <>", value, "principalBy");
            return (Criteria) this;
        }

        public Criteria andPrincipalByGreaterThan(String value) {
            addCriterion("principal_by >", value, "principalBy");
            return (Criteria) this;
        }

        public Criteria andPrincipalByGreaterThanOrEqualTo(String value) {
            addCriterion("principal_by >=", value, "principalBy");
            return (Criteria) this;
        }

        public Criteria andPrincipalByLessThan(String value) {
            addCriterion("principal_by <", value, "principalBy");
            return (Criteria) this;
        }

        public Criteria andPrincipalByLessThanOrEqualTo(String value) {
            addCriterion("principal_by <=", value, "principalBy");
            return (Criteria) this;
        }

        public Criteria andPrincipalByLike(String value) {
            addCriterion("principal_by like", value, "principalBy");
            return (Criteria) this;
        }

        public Criteria andPrincipalByNotLike(String value) {
            addCriterion("principal_by not like", value, "principalBy");
            return (Criteria) this;
        }

        public Criteria andPrincipalByIn(List<String> values) {
            addCriterion("principal_by in", values, "principalBy");
            return (Criteria) this;
        }

        public Criteria andPrincipalByNotIn(List<String> values) {
            addCriterion("principal_by not in", values, "principalBy");
            return (Criteria) this;
        }

        public Criteria andPrincipalByBetween(String value1, String value2) {
            addCriterion("principal_by between", value1, value2, "principalBy");
            return (Criteria) this;
        }

        public Criteria andPrincipalByNotBetween(String value1, String value2) {
            addCriterion("principal_by not between", value1, value2, "principalBy");
            return (Criteria) this;
        }

        public Criteria andInfoIsNull() {
            addCriterion("info is null");
            return (Criteria) this;
        }

        public Criteria andInfoIsNotNull() {
            addCriterion("info is not null");
            return (Criteria) this;
        }

        public Criteria andInfoEqualTo(String value) {
            addCriterion("info =", value, "info");
            return (Criteria) this;
        }

        public Criteria andInfoNotEqualTo(String value) {
            addCriterion("info <>", value, "info");
            return (Criteria) this;
        }

        public Criteria andInfoGreaterThan(String value) {
            addCriterion("info >", value, "info");
            return (Criteria) this;
        }

        public Criteria andInfoGreaterThanOrEqualTo(String value) {
            addCriterion("info >=", value, "info");
            return (Criteria) this;
        }

        public Criteria andInfoLessThan(String value) {
            addCriterion("info <", value, "info");
            return (Criteria) this;
        }

        public Criteria andInfoLessThanOrEqualTo(String value) {
            addCriterion("info <=", value, "info");
            return (Criteria) this;
        }

        public Criteria andInfoLike(String value) {
            addCriterion("info like", value, "info");
            return (Criteria) this;
        }

        public Criteria andInfoNotLike(String value) {
            addCriterion("info not like", value, "info");
            return (Criteria) this;
        }

        public Criteria andInfoIn(List<String> values) {
            addCriterion("info in", values, "info");
            return (Criteria) this;
        }

        public Criteria andInfoNotIn(List<String> values) {
            addCriterion("info not in", values, "info");
            return (Criteria) this;
        }

        public Criteria andInfoBetween(String value1, String value2) {
            addCriterion("info between", value1, value2, "info");
            return (Criteria) this;
        }

        public Criteria andInfoNotBetween(String value1, String value2) {
            addCriterion("info not between", value1, value2, "info");
            return (Criteria) this;
        }

        public Criteria andManufacturerPhoneIsNull() {
            addCriterion("manufacturer_phone is null");
            return (Criteria) this;
        }

        public Criteria andManufacturerPhoneIsNotNull() {
            addCriterion("manufacturer_phone is not null");
            return (Criteria) this;
        }

        public Criteria andManufacturerPhoneEqualTo(String value) {
            addCriterion("manufacturer_phone =", value, "manufacturerPhone");
            return (Criteria) this;
        }

        public Criteria andManufacturerPhoneNotEqualTo(String value) {
            addCriterion("manufacturer_phone <>", value, "manufacturerPhone");
            return (Criteria) this;
        }

        public Criteria andManufacturerPhoneGreaterThan(String value) {
            addCriterion("manufacturer_phone >", value, "manufacturerPhone");
            return (Criteria) this;
        }

        public Criteria andManufacturerPhoneGreaterThanOrEqualTo(String value) {
            addCriterion("manufacturer_phone >=", value, "manufacturerPhone");
            return (Criteria) this;
        }

        public Criteria andManufacturerPhoneLessThan(String value) {
            addCriterion("manufacturer_phone <", value, "manufacturerPhone");
            return (Criteria) this;
        }

        public Criteria andManufacturerPhoneLessThanOrEqualTo(String value) {
            addCriterion("manufacturer_phone <=", value, "manufacturerPhone");
            return (Criteria) this;
        }

        public Criteria andManufacturerPhoneLike(String value) {
            addCriterion("manufacturer_phone like", value, "manufacturerPhone");
            return (Criteria) this;
        }

        public Criteria andManufacturerPhoneNotLike(String value) {
            addCriterion("manufacturer_phone not like", value, "manufacturerPhone");
            return (Criteria) this;
        }

        public Criteria andManufacturerPhoneIn(List<String> values) {
            addCriterion("manufacturer_phone in", values, "manufacturerPhone");
            return (Criteria) this;
        }

        public Criteria andManufacturerPhoneNotIn(List<String> values) {
            addCriterion("manufacturer_phone not in", values, "manufacturerPhone");
            return (Criteria) this;
        }

        public Criteria andManufacturerPhoneBetween(String value1, String value2) {
            addCriterion("manufacturer_phone between", value1, value2, "manufacturerPhone");
            return (Criteria) this;
        }

        public Criteria andManufacturerPhoneNotBetween(String value1, String value2) {
            addCriterion("manufacturer_phone not between", value1, value2, "manufacturerPhone");
            return (Criteria) this;
        }

        public Criteria andEngineerIsNull() {
            addCriterion("engineer is null");
            return (Criteria) this;
        }

        public Criteria andEngineerIsNotNull() {
            addCriterion("engineer is not null");
            return (Criteria) this;
        }

        public Criteria andEngineerEqualTo(String value) {
            addCriterion("engineer =", value, "engineer");
            return (Criteria) this;
        }

        public Criteria andEngineerNotEqualTo(String value) {
            addCriterion("engineer <>", value, "engineer");
            return (Criteria) this;
        }

        public Criteria andEngineerGreaterThan(String value) {
            addCriterion("engineer >", value, "engineer");
            return (Criteria) this;
        }

        public Criteria andEngineerGreaterThanOrEqualTo(String value) {
            addCriterion("engineer >=", value, "engineer");
            return (Criteria) this;
        }

        public Criteria andEngineerLessThan(String value) {
            addCriterion("engineer <", value, "engineer");
            return (Criteria) this;
        }

        public Criteria andEngineerLessThanOrEqualTo(String value) {
            addCriterion("engineer <=", value, "engineer");
            return (Criteria) this;
        }

        public Criteria andEngineerLike(String value) {
            addCriterion("engineer like", value, "engineer");
            return (Criteria) this;
        }

        public Criteria andEngineerNotLike(String value) {
            addCriterion("engineer not like", value, "engineer");
            return (Criteria) this;
        }

        public Criteria andEngineerIn(List<String> values) {
            addCriterion("engineer in", values, "engineer");
            return (Criteria) this;
        }

        public Criteria andEngineerNotIn(List<String> values) {
            addCriterion("engineer not in", values, "engineer");
            return (Criteria) this;
        }

        public Criteria andEngineerBetween(String value1, String value2) {
            addCriterion("engineer between", value1, value2, "engineer");
            return (Criteria) this;
        }

        public Criteria andEngineerNotBetween(String value1, String value2) {
            addCriterion("engineer not between", value1, value2, "engineer");
            return (Criteria) this;
        }

        public Criteria andPriceIsNull() {
            addCriterion("price is null");
            return (Criteria) this;
        }

        public Criteria andPriceIsNotNull() {
            addCriterion("price is not null");
            return (Criteria) this;
        }

        public Criteria andPriceEqualTo(String value) {
            addCriterion("price =", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotEqualTo(String value) {
            addCriterion("price <>", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThan(String value) {
            addCriterion("price >", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThanOrEqualTo(String value) {
            addCriterion("price >=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThan(String value) {
            addCriterion("price <", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThanOrEqualTo(String value) {
            addCriterion("price <=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLike(String value) {
            addCriterion("price like", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotLike(String value) {
            addCriterion("price not like", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceIn(List<String> values) {
            addCriterion("price in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotIn(List<String> values) {
            addCriterion("price not in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceBetween(String value1, String value2) {
            addCriterion("price between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotBetween(String value1, String value2) {
            addCriterion("price not between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andInstrumentStateIsNull() {
            addCriterion("instrument_state is null");
            return (Criteria) this;
        }

        public Criteria andInstrumentStateIsNotNull() {
            addCriterion("instrument_state is not null");
            return (Criteria) this;
        }

        public Criteria andInstrumentStateEqualTo(String value) {
            addCriterion("instrument_state =", value, "instrumentState");
            return (Criteria) this;
        }

        public Criteria andInstrumentStateNotEqualTo(String value) {
            addCriterion("instrument_state <>", value, "instrumentState");
            return (Criteria) this;
        }

        public Criteria andInstrumentStateGreaterThan(String value) {
            addCriterion("instrument_state >", value, "instrumentState");
            return (Criteria) this;
        }

        public Criteria andInstrumentStateGreaterThanOrEqualTo(String value) {
            addCriterion("instrument_state >=", value, "instrumentState");
            return (Criteria) this;
        }

        public Criteria andInstrumentStateLessThan(String value) {
            addCriterion("instrument_state <", value, "instrumentState");
            return (Criteria) this;
        }

        public Criteria andInstrumentStateLessThanOrEqualTo(String value) {
            addCriterion("instrument_state <=", value, "instrumentState");
            return (Criteria) this;
        }

        public Criteria andInstrumentStateLike(String value) {
            addCriterion("instrument_state like", value, "instrumentState");
            return (Criteria) this;
        }

        public Criteria andInstrumentStateNotLike(String value) {
            addCriterion("instrument_state not like", value, "instrumentState");
            return (Criteria) this;
        }

        public Criteria andInstrumentStateIn(List<String> values) {
            addCriterion("instrument_state in", values, "instrumentState");
            return (Criteria) this;
        }

        public Criteria andInstrumentStateNotIn(List<String> values) {
            addCriterion("instrument_state not in", values, "instrumentState");
            return (Criteria) this;
        }

        public Criteria andInstrumentStateBetween(String value1, String value2) {
            addCriterion("instrument_state between", value1, value2, "instrumentState");
            return (Criteria) this;
        }

        public Criteria andInstrumentStateNotBetween(String value1, String value2) {
            addCriterion("instrument_state not between", value1, value2, "instrumentState");
            return (Criteria) this;
        }

        public Criteria andStopTimeIsNull() {
            addCriterion("stop_time is null");
            return (Criteria) this;
        }

        public Criteria andStopTimeIsNotNull() {
            addCriterion("stop_time is not null");
            return (Criteria) this;
        }

        public Criteria andStopTimeEqualTo(Date value) {
            addCriterion("stop_time =", value, "stopTime");
            return (Criteria) this;
        }

        public Criteria andStopTimeNotEqualTo(Date value) {
            addCriterion("stop_time <>", value, "stopTime");
            return (Criteria) this;
        }

        public Criteria andStopTimeGreaterThan(Date value) {
            addCriterion("stop_time >", value, "stopTime");
            return (Criteria) this;
        }

        public Criteria andStopTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("stop_time >=", value, "stopTime");
            return (Criteria) this;
        }

        public Criteria andStopTimeLessThan(Date value) {
            addCriterion("stop_time <", value, "stopTime");
            return (Criteria) this;
        }

        public Criteria andStopTimeLessThanOrEqualTo(Date value) {
            addCriterion("stop_time <=", value, "stopTime");
            return (Criteria) this;
        }

        public Criteria andStopTimeIn(List<Date> values) {
            addCriterion("stop_time in", values, "stopTime");
            return (Criteria) this;
        }

        public Criteria andStopTimeNotIn(List<Date> values) {
            addCriterion("stop_time not in", values, "stopTime");
            return (Criteria) this;
        }

        public Criteria andStopTimeBetween(Date value1, Date value2) {
            addCriterion("stop_time between", value1, value2, "stopTime");
            return (Criteria) this;
        }

        public Criteria andStopTimeNotBetween(Date value1, Date value2) {
            addCriterion("stop_time not between", value1, value2, "stopTime");
            return (Criteria) this;
        }

        public Criteria andGradeIsNull() {
            addCriterion("grade is null");
            return (Criteria) this;
        }

        public Criteria andGradeIsNotNull() {
            addCriterion("grade is not null");
            return (Criteria) this;
        }

        public Criteria andGradeEqualTo(String value) {
            addCriterion("grade =", value, "grade");
            return (Criteria) this;
        }

        public Criteria andGradeNotEqualTo(String value) {
            addCriterion("grade <>", value, "grade");
            return (Criteria) this;
        }

        public Criteria andGradeGreaterThan(String value) {
            addCriterion("grade >", value, "grade");
            return (Criteria) this;
        }

        public Criteria andGradeGreaterThanOrEqualTo(String value) {
            addCriterion("grade >=", value, "grade");
            return (Criteria) this;
        }

        public Criteria andGradeLessThan(String value) {
            addCriterion("grade <", value, "grade");
            return (Criteria) this;
        }

        public Criteria andGradeLessThanOrEqualTo(String value) {
            addCriterion("grade <=", value, "grade");
            return (Criteria) this;
        }

        public Criteria andGradeLike(String value) {
            addCriterion("grade like", value, "grade");
            return (Criteria) this;
        }

        public Criteria andGradeNotLike(String value) {
            addCriterion("grade not like", value, "grade");
            return (Criteria) this;
        }

        public Criteria andGradeIn(List<String> values) {
            addCriterion("grade in", values, "grade");
            return (Criteria) this;
        }

        public Criteria andGradeNotIn(List<String> values) {
            addCriterion("grade not in", values, "grade");
            return (Criteria) this;
        }

        public Criteria andGradeBetween(String value1, String value2) {
            addCriterion("grade between", value1, value2, "grade");
            return (Criteria) this;
        }

        public Criteria andGradeNotBetween(String value1, String value2) {
            addCriterion("grade not between", value1, value2, "grade");
            return (Criteria) this;
        }

        public Criteria andStateIsNull() {
            addCriterion("state is null");
            return (Criteria) this;
        }

        public Criteria andStateIsNotNull() {
            addCriterion("state is not null");
            return (Criteria) this;
        }

        public Criteria andStateEqualTo(Integer value) {
            addCriterion("state =", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotEqualTo(Integer value) {
            addCriterion("state <>", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateGreaterThan(Integer value) {
            addCriterion("state >", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateGreaterThanOrEqualTo(Integer value) {
            addCriterion("state >=", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLessThan(Integer value) {
            addCriterion("state <", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLessThanOrEqualTo(Integer value) {
            addCriterion("state <=", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateIn(List<Integer> values) {
            addCriterion("state in", values, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotIn(List<Integer> values) {
            addCriterion("state not in", values, "state");
            return (Criteria) this;
        }

        public Criteria andStateBetween(Integer value1, Integer value2) {
            addCriterion("state between", value1, value2, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotBetween(Integer value1, Integer value2) {
            addCriterion("state not between", value1, value2, "state");
            return (Criteria) this;
        }

        public Criteria andDeletedIsNull() {
            addCriterion("deleted is null");
            return (Criteria) this;
        }

        public Criteria andDeletedIsNotNull() {
            addCriterion("deleted is not null");
            return (Criteria) this;
        }

        public Criteria andDeletedEqualTo(Integer value) {
            addCriterion("deleted =", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedNotEqualTo(Integer value) {
            addCriterion("deleted <>", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedGreaterThan(Integer value) {
            addCriterion("deleted >", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedGreaterThanOrEqualTo(Integer value) {
            addCriterion("deleted >=", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedLessThan(Integer value) {
            addCriterion("deleted <", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedLessThanOrEqualTo(Integer value) {
            addCriterion("deleted <=", value, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedIn(List<Integer> values) {
            addCriterion("deleted in", values, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedNotIn(List<Integer> values) {
            addCriterion("deleted not in", values, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedBetween(Integer value1, Integer value2) {
            addCriterion("deleted between", value1, value2, "deleted");
            return (Criteria) this;
        }

        public Criteria andDeletedNotBetween(Integer value1, Integer value2) {
            addCriterion("deleted not between", value1, value2, "deleted");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}